package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.order.OrderMenuSearchValidate;
import com.mdd.admin.validate.order.OrderMenuUpdateValidate;
import com.mdd.admin.vo.order.MenuMealVo;
import com.mdd.admin.vo.order.OrderMenuVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.order.OrderMenu;

/**
 * @author shenjian
 * @createTime 2023年02月11日 21:47:00
 */
public interface IOrderMenuService {

    /**
     * 菜单套餐列表
     *
     * @author shenjian
     * @param pageValidate (分页参数)
     * @param searchValidate (搜索参数)
     * @return PageResult<MealVo>
     */
    PageResult<MenuMealVo> list(PageValidate pageValidate, OrderMenuSearchValidate searchValidate);

    /**
     * 菜单套餐提交
     *
     * @author shenjian
     * @param updateValidate 参数
     */
    void submit(OrderMenuUpdateValidate updateValidate);

    /**
     * 设置生效
     * @param id
     */
    void setValid(Integer id);

    /**
     * 获取当前生效的菜单
     */
    OrderMenu getValidMenu();

    /**
     * 获取下一个生效的菜单
     * @return
     */
    OrderMenu getNextMenu();
}
